﻿Imports System.Collections.ObjectModel
Imports System.ComponentModel

Public Class PatientDiagnosis
    Inherits BaseMasterInfo
    Implements INotifyPropertyChanged

    Public Property PatienDiagnosisID As Single

    Public Property PatientId As Long

    Public Property diagnosisDateTime() As Date

    Public Property parentID As Integer?

    Public Property parentName As String = String.Empty

    Public Property status As String = String.Empty

    Private _subItems As New ObservableCollection(Of Diagnosis)
    Public ReadOnly Property subItems As ObservableCollection(Of Diagnosis)
        Get
            Return _subItems
        End Get
    End Property

    Dim _Checked As Boolean
    Public Property Checked As Boolean
        Get
            Return _Checked
        End Get
        Set(ByVal value As Boolean)
            _Checked = value
            NotifyPropertyChanged()
        End Set
    End Property
    Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

    Private Sub NotifyPropertyChanged(Optional ByVal propertyName As String = Nothing)
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
End Class
